// 接口：
// 注册：/user?act=reg&user=aaa&password=123456
//       {"ok": false, "msg": "原因"}
// 登录：/user?act=login&user=aaa&password=123456
//       {"ok": true, "msg": "原因"}

const http = require('http');
const fs = require('fs');
const querystring = require('querystring');
const URL = require('url');
var users={}; //存储用户账号、密码   如：{"zhangsan":"211314" ,"lisi":"940505"}

var server=http.createServer(function (req,res) {
    //解析数据
    var str='';
    req.on('data',function (data) {
        str+=data;
    });
    req.on('end',function () {
        const POST=querystring.parse(str);
    });
    var obj=URL.parse(req.url,true);
    const url=obj.pathname;
    const GET=obj.query;

    //区分——接口||文件
    fs.stat('.'+url, function (err, stat) {
        if (err) {
            console.log("404");
            res.end();
        } else {
            if (stat.isFile()) {
                console.log("文件");

                //读取文件
                fs.readFile('.'+url,function (err,data) {
                    if(err){
                        res.write('404');
                    }else{
                        res.write(data);
                    }
                    res.end();
                });

            }else{
                console.log("接口");

                //判断——注册||登录
                switch(GET.act){
                    case 'reg'://注册
                        //1、检查用户名是否存在
                        if(users[GET.user]){
                            res.write('{"ok":false,"msg":"此用户已存在"}');
                        }else{
                            //2、插入users
                            users[GET.user]=GET.password;
                            res.write('{"ok":true,"msg":"注册成功"}');
                        }
                        break;
                    case 'login'://登录
                        //1、检查用户是否存在
                        if(users[GET.user]){
                            //2、检查用户密码
                            if(users[GET.user]==GET.password){
                                res.write('{"ok":true,"msg":"登陆成功"}');
                            }else{
                                res.write('{"ok":false,"msg":"用户名或密码有误"}');
                            }
                        }else{
                            res.write('{"ok":false,"msg":"此用户不存在"}');
                        }
                        break;
                    default:
                        res.write('{"ok":false,"msg","未知的act"}');
                }
                res.end();
            }
        }
    });


}).listen(1111);



